Chihuahua: A Concurrent, Moving, Garbage Collector using Transactional Memory
نویسندگان
چکیده
Hardware Transactional Memory (HTM) offers a powerful new parallel synchronization mechanism, but one whose performance properties are different from techniques that it competes with, such as locks and atomic instructions. Because of HTM’s differing characteristics, when algorithms based on earlier synchronization mechanisms are adapted to use HTM instead, the performance may be disappointing, sometimes even appearing not to significantly outperform software transactional memory. In this paper, however, we show that HTM, and specifically its strong atomicity property, allows approaches to synchronization that would not otherwise be possible, allowing simpler synchronization algorithms than would otherwise be possible that nevertheless have promising performance. Specifically, we present a new garbage collector named Chihuahua that is designed specifically for HTM, in which garbage collector threads execute transactionally but the mutator does not. In contrast to other work which has adapted existing parallel collectors to make them transactional, Chihuahua is a transactional adaptation of a serial collector (taken from MMTk in the Jikes RVM). Although Chihuahua is a proof of concept rather than an industrial-strength, production garbage collector, we believe it highlights opportunities in the design space of garbage collectors and other parallel algorithms that are available in HTM but not available in competing techniques.
منابع مشابه
ParMarkSplit: A Parallel Mark-Split Garbage Collector Based on a Lock-Free Skip-List
This brief announcement provides a high level overview of a parallel mark-split garbage collector. Our parallel design introduces and makes use of an efficient concurrency control mechanism based on a lock-free skip-list design for handling the list of free memory intervals. We have implemented the parallel mark-split garbage collector in OpenJDK HotSpot as a parallel and concurrent garbage col...
متن کاملBrief Announcement: ParMarkSplit: A Parallel Mark-Split Garbage Collector Based on a Lock-Free Skip-List
This brief announcement provides a high level overview of a parallel mark-split garbage collector. Our parallel design introduces and makes use of an efficient concurrency control mechanism based on a lock-free skip-list design for handling the list of free memory intervals. We have implemented the parallel mark-split garbage collector in OpenJDK HotSpot as a parallel and concurrent garbage col...
متن کاملOn lock-free programming patterns
Lock-free programming is a well-known technique for multithreaded programming. Lock-free programming is a way to share changing data among several threads without paying the cost of acquiring and releasing locks. On practice, parallel programming models must include scalable concurrent algorithms and patterns. Lock-free programming patterns play an important role in scalability. This paper is d...
متن کاملUsing Multiple Servers in Concurrent
Object-oriented programming languages are being widely adopted as one of the most powerful languages due their flexibility and reusability. However, these languages suffer from memory mismanagement that could be critical especially in real-time and embedded systems. Automatic memory management through garbage collector handles this problem. Concurrent garbage collection based on sporadic or def...
متن کاملTMOS: A Transactional Garbage Collector
Defining persistence in terms of reachability is fundamental to achieving orthogonality of persistence. It is implicit to the principles of orthogonal persistence and is a part of the ODMG 3.0 data objects standard. Although space reclamation in the context of persistence by reachability can be achieved automatically using garbage collection, relatively few papers address the problem of impleme...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2015